package com.hghivln.blog.common.exception;

import com.hghivln.blog.common.lang.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

/**
 * 全局异常处理
 * RestControllerAdvice注解定义全局异常处理器 默认只会处理controller层抛出的异常
 * ExceptionHandler 表示针对性异常处理  用于绑定异常类（或者说我们需要catch住并处理的异常类，异常类可以自定义）
 */
@RestControllerAdvice
@Slf4j
public class GlobalExceptionHandler {

    @ExceptionHandler(BlogException.class)
    public Result handler(BlogException blogException) {
        log.info("统一异常处理：",blogException);
        return new Result(blogException.getErrorCode(),blogException.getMessage());
    }

}
